<template>
  <!-- 设备密集性分析 -->
  <div class="facity">
    <!-- 搜索框 -->
    <div class="facity_scerch">
      <el-form class="table_serch">
        <div class="serch_top">
          <div class="table_serch_labe" style="margin-left: 0px">
            <div class="table_serch_labe_title">机种</div>
            <Ariplandown
              :modlulist="modlulist"
              :formInline="formInline"
            ></Ariplandown>
          </div>

          <div class="table_serch_labe" style="margin-left: 10px">
            <div class="table_serch_labe_title">线体</div>
            <Linedrpdown
            @change='onchange'
              :linedroplist="linedroplist"
              :formInline="formInline"
            ></Linedrpdown>
          </div>

          <div class="table_serch_labe" style="margin-left: 20px">
            <div class="table_serch_labe_title">设备</div>
                <el-select
                  v-model="formInline.site"
                  clearable
                  size="mini"
                  style="margin-left: 5px; margin-top: 8px; width: 140px"
                  placeholder="请选择内容"
                >
                  <el-option v-for="(item,index) in this.siteItems" :key="index"
                    :label="item"
                    :value="item"
                  >

                  </el-option>
                </el-select>
          </div>

          <div class="table_serch_labe" style="margin-left: 0px">
            <div class="table_serch_labe_title">起始日期</div>
            <el-form-item label="">
              <StartTime :formInline="formInline"></StartTime>
            </el-form-item>
          </div>

          <div class="and_table time_end" style="margin-left: -3px">
            <div class="table_serch_labe_title">结束日期</div>
            <el-form-item label="">
              <Endtime  :formInline="formInline"></Endtime>
            </el-form-item>
          </div>
        </div>
        <div class="serch_buttom">
          <div class="table_serch_labe" style="margin-left: 0px">
            <div class="table_serch_labe_title">班次</div>
            <el-select
              v-model="formInline.class"
              clearable
              size="mini"
              style="margin-left: 5px; margin-top: 8px; width: 140px"
              placeholder="请选择内容"
            >
              <el-option label="白班" value="白班"></el-option>
              <el-option label="夜班" value="夜班"></el-option>
            </el-select>
          </div>

          <div class="table_serch_labe" id="denfen" >
            <div class="table_serch_labe_title" >缺陷</div>
            <el-form-item label="">
                   <Defectoptions
                  :Defectlist="Defectlist"
                  :formInline="formInline"
                  ></Defectoptions>
            </el-form-item>
          </div>

          <!-- 文件上传 -->
          <div class="up-lad_btn">
            <el-upload
              ref="upload"
              action="#"
              :limit="limitNum"
              :auto-upload="false"
              accept=".xlsx"
              multiple
              :data="this.formInline"
              :before-upload="beforeUpload"
              :http-request="uploadFile"
              :on-preview="handlePreview"
              :on-exceed="handleExceed"
              :on-remove="handleRemove"
              :on-change="handleChange"
              :file-list="formInline.fileList"
            >
              <el-button
                size="small"
                type="primary"
                class="el-upload__tip"
                style="height: 30px; margin-top: 5px"
                >上传产品二维码</el-button
              >
            </el-upload>
          </div>
         
           <div class="table_serch_dow">
               <Dowtemplte :DowUrl="DowUrl"></Dowtemplte>
           </div>
           
          <!--  -->
          <div class="table_serch_labe" style="margin-left: 0%">
            <el-button
              style="height: 30px; margin-top: 5px"
              type="primary"
              size="mini"
              @click="facilitydense"
              >查询</el-button
            >
          </div>

          <!-- <button @click="Tabudataparsing">sadsasd</button> -->
        </div>
      </el-form>
    </div>
    <!-- 柱状图 -->
    <div id="facity_svg"></div>
    <!-- 表格 -->
    <div class="facity_table">
      <div style="padding: 10px; font-size: 12px">设备密集性统计</div>

      <el-table
        class="tablelist_table"
        :data="this.tablelist.slice(1)"
        size="mini"
        border
        highlight-current-row
        :header-cell-style="headClass"
        :row-style="{ height: '10px' }"
        style="font-size: 9px"
      >
        <el-table-column
          v-for="(item, index) in this.listdata[0]"
          :key="index"
          :label="item"
          :prop="item"
        >
        </el-table-column>
      </el-table>

      <div class="tlop">
              <div class="block">
                <el-pagination
                  @size-change="handleSizeChange"
                  @current-change="handleCurrentChange"
                  :current-page="currentPage"
                  :page-sizes="[50]"
                  :page-size="pageSize"
                  layout="total, sizes, prev, pager, next, jumper"
                  :total="total"
                >
                </el-pagination>
              </div>

             <div>
               <Tbaledow    :total="total"  :caChe_key="caChe_key"  :tableData="tableData"></Tbaledow>
             </div> 
      </div>
    </div>


          
         

    <div class="table_loding" v-show="isshow">
      <div class="table_title">加载中... ....</div>
      <div class="table_timer">网络请求延时: {{ timer }}秒</div>
    </div>

    <Popup
      v-show="Popup_show"
      @ClosePopup="ClosePopup"
      @cancelget="cancelget"
      :timer="timer"
    ></Popup>
  </div>
</template>

<script>
import Tbaledow from '../../../components/TbaleDow/TableDow'
import Dowtemplte from '../../../components/Dowtemplate/Dowtemplate'
import Linedrpdown from "../../../components/Linedropdown/Linedropdown";
import Ariplandown from "../../../components/Airplandown/Airplandown";
import Defectoptions from '../../../components/Defectoptions/Defectoptions'
import Endtime from '../../../components/endTime/Endtime'
import StartTime from '../../../components/StarTime/StartTime'
import axios from "axios";
import Popup from "../../Pop-up/Pop-up";
export default {
  components: { Popup, Ariplandown, Linedrpdown ,Defectoptions,Dowtemplte,
  Endtime,StartTime,Tbaledow
  },
  data() {
    return {
      DowUrl:"/file/local?filename=templates/1004.xlsx",
      refs:this.$refs.elTbale,
      total: 0,
      currentPage: 1,
      pageSize: 50,
      fileList: [],
      Popup_show: false,
      formData: "",
      theme: "上传表格",
      timer: 0,
      isshow: false,
      valtimer: "",
      show: true,
      isConfirm: true,
      limitNum: 1,
      listdata: [],
      formInline: {
        recipe: "",
        order: "",
        line: "",
        site: "",
        starttime: "",
        endtime: "",
        errorcode: "",
        class: "",
        type: [],
        personid: "",
        filesUrl: "",
        filename: "",
        fileList: [],
      },
      pagelist: [],
      barlist: [],
      titlelist: [],
      items: [],
      options: [],
      restaurants: [],
      tableData: [],
      tablelist: [],
      caChe_key: "",
      xAis: [],
      modlulist: [],
      linedroplist: [],
      sitedrwn: [],
      siteItems:[],
      Defectlist:[],
     
    };
  },
  created() {
    this.getModelnolist();
 
  },
  mounted() {
    
  },
  methods: {
      
 

        onchange(){
          this.siteItems=[]
                this.sitedrwn.forEach((ele)=>{
                  if(ele.ID.includes(this.formInline.line)){
                    this.siteItems.push(ele.ID)
                  }
              })
          },
    // 表头样式设置
    headClass() {
      return "text-align: center;background:#696969;color:#fff";
    },

    getModelnolist() {
      this.ajax(`func/1023/selProductList`).then((res) => {
        if (res.status == 200) {
          this.modlulist = res.data.product;
          this.linedroplist = res.data.line;
          this.sitedrwn = res.data.eqp;
        }
      });
       this.ajax(`func/1023/selDef`).then((res)=>{
           if(res.status == 200){
                for(var k = 0; k < res.data.length; k++){
                    if(this.Defectlist.indexOf(res.data[k].DFT_TYPE) == -1){
                        this.Defectlist.push(res.data[k].DFT_TYPE)
                    }
                }
           }
        })
    },



    // 上传文件之前的钩子, 参数为上传的文件,若返回 false 或者返回 Promise 且被 reject，则停止上传
    beforeUpload(file) {
      let extension = file.name.substring(file.name.lastIndexOf(".") + 1);
      let size = file.size / 1024 / 1024;
      if (extension !== "xlsx") {
        this.$message.warning("只能上传后缀是.xlsx的文件");
      }
      if (size > 10) {
        this.$message.warning("文件大小不得超过10M");
      }
    },

    // 文件状态改变
    handleChange(file, fileList) {
      this.fileList = fileList.slice(-3);
      this.formInline.filename = file.name;
      this.uploadfiles();
    },

    handleRemove(file, fileList) {
      // console.log(file, fileList);
      // this.formInline.fileList.shift();
      this.formInline.filename = '';
      this.fileList.shift();
    },

    handlePreview(file) {
      console.log(file);
    },
    uploadFile(file) {
      this.formData.append("file", file.file);
    },

    // 文件超出个数限制
    handleExceed(files, fileList) {
      this.$message.warning(
        `只能选择 ${this.limitNum} 个文件，当前共选择了 ${
          files.length + fileList.length
        } 个`
      );
    },

    //查询数据请求方法
    facilitydense() {
      if(this.formInline.recipe){
           if (this.formInline.recipe == "") {
        this.$message({
          showClose: true,
          message: "机种不能为空",
          type: "warning",
        });
          } else if (this.formInline.starttime == "") {
        this.$message({
          showClose: true,
          message: "起始日期不能为空",
          type: "warning",
        });
          } else if (this.formInline.endtime == "") {
        this.$message({
          showClose: true,
          message: "结束日期不能为空",
          type: "warning",
        });
          } else if (this.formInline.endtime < this.formInline.starttime) {
        this.$message({
          showClose: true,
          message: "结束日期不能小于起始日期",
          type: "warning",
        });
          } else {
           this.GetcenmenList()
        }
        }else{
            if (this.formInline.filename == "") {
              this.$message({
                showClose: true,
                message: "请上传ID",
                type: "warning",
              });
            } else if (this.formInline.starttime == "") {
              this.$message({
                showClose: true,
                message: "起始日期不能为空",
                type: "warning",
              });
            } else if (this.formInline.endtime == "") {
              this.$message({
                showClose: true,
                message: "结束日期不能为空",
                type: "warning",
              });
            } else if (this.formInline.endtime < this.formInline.starttime) {
              this.$message({
                showClose: true,
                message: "结束日期不能小于起始日期",
                type: "warning",
              });
            } else {
                this.GetcenmenList()
           }
      }
      

      
    },

    GetcenmenList(){
        const CancelToken = axios.CancelToken;
        this.ajax
          .get(
            `prod/1004?starttime=${this.formInline.starttime}&endtime=${this.formInline.endtime}&recipe=${this.formInline.recipe}&line=${this.formInline.line}&site=${this.formInline.site}&class=${this.formInline.class}&order=${this.formInline.order}&personid=${this.formInline.personid}&filesUrl=${this.formInline.filesUrl}&fileList=${this.formInline.fileList}&errorcode=${this.formInline.errorcode}&filename=${this.formInline.filename}`,
            {
              cancelToken: new CancelToken((c) => {
                this.cancel = c;
              }),
            }
          )
          .then((res) => {
            var restul = res.data;
            // console.log(restul);
            if (restul) {
              this.titlelist = [];
              this.barlist = restul.Devbar;
              this.total = restul.tableInfo.row_num;
              this.tableData = restul.tableInfo.heads[0];
              this.caChe_key = restul.tableInfo.cache_key;
              this.xAis = restul.xAis;

              if (this.barlist.length) {
                this.handiesvg();
                this.faclityPage();
              } else {
                this.$message({
                  showClose: true,
                  message: "数据返回为空，请重新重新请求",
                  type: "error",
                });
                setTimeout(() => {
                  this.$router.go(0);
                }, 300);
              }
            }
          });
    },



    //上传文件接口
    uploadfiles() {
      let files = new FormData();
      files.append("theme", this.theme);
      for (let i = 0; i < this.fileList.length; i++) {
        files.append("files", this.fileList[i].raw);
      }
      this.ajax.post("upload", files, {}).then((res) => {
        // console.log(res);
        if (res.status == 200) {
          this.$message({
            message: "文件上传成功",
            type: "success",
          });
        }
      });
    },

    //分页数据列表解析方法
    Tabudataparsing() {
      this.tablelist = [];
      // console.log("------------------------", this.listdata);
      var titlelist = this.listdata[0];
      var a = titlelist[0];
      var b = titlelist[1];
      var c = titlelist[2];
      var d = titlelist[3];
      var e = titlelist[4];
      var f = titlelist[5];
      var g = titlelist[6];
      var h = titlelist[7];
      var io = titlelist[8];
      var j = titlelist[9];
      var k = titlelist[10];
      var L = titlelist[11];
      var m = titlelist[12];
      var n = titlelist[13];
      var o = titlelist[14];
      var p = titlelist[15];
      var q = titlelist[16];
      var r = titlelist[17];
      var s = titlelist[18];
      var t = titlelist[19];
      var u = titlelist[20];
      var v = titlelist[21];
      var w = titlelist[22];
      var x = titlelist[23];
      var y = titlelist[24];
      var z = titlelist[25];
      if (this.listdata[0].length == 2) {
        for (let i = 1; i < this.listdata.length; i++) {
          var objon = {};
          objon[a] = this.listdata[i][0];
          objon[b] = this.listdata[i][1];
          this.tablelist.push(objon);
        }
      } else if (this.listdata[0].length == 3) {
        for (let i = 1; i < this.listdata.length; i++) {
          var obj0 = {};
          obj0[a] = this.listdata[i][0];
          obj0[b] = this.listdata[i][1];
          obj0[c] = this.listdata[i][2];
          // obj[d] = this.bartable[i][3];
          this.tablelist.push(obj0);
        }
      } else if (this.listdata[0].length == 4) {
        for (let i = 1; i < this.listdata.length; i++) {
          var obj = {};
          obj[a] = this.listdata[i][0];
          obj[b] = this.listdata[i][1];
          obj[c] = this.listdata[i][2];
          obj[d] = this.listdata[i][3];
          this.tablelist.push(obj);
        }
      } else if (this.listdata[0].length == 5) {
        for (let i = 1; i < this.listdata.length; i++) {
          var obj1 = {};
          obj1[a] = this.listdata[i][0];
          obj1[b] = this.listdata[i][1];
          obj1[c] = this.listdata[i][2];
          obj1[d] = this.listdata[i][3];
          obj1[e] = this.listdata[i][4];
          this.tablelist.push(obj1);
        }
      } else if (this.listdata[0].length == 6) {
        for (let i = 1; i < this.listdata.length; i++) {
          var obj2 = {};
          obj2[a] = this.listdata[i][0];
          obj2[b] = this.listdata[i][1];
          obj2[c] = this.listdata[i][2];
          obj2[d] = this.listdata[i][3];
          obj2[e] = this.listdata[i][4];
          obj2[f] = this.listdata[i][5];
          this.tablelist.push(obj2);
        }
      } else if (this.listdata[0].length == 7) {
        for (let i = 0; i < this.listdata.length; i++) {
          var obj3 = {};
          obj3[a] = this.listdata[i][0];
          obj3[b] = this.listdata[i][1];
          obj3[c] = this.listdata[i][2];
          obj3[d] = this.listdata[i][3];
          obj3[e] = this.listdata[i][4];
          obj3[f] = this.listdata[i][5];
          obj3[g] = this.listdata[i][6];
          this.tablelist.push(obj3);
        }
      } else if (this.listdata[0].length == 8) {
        for (let i = 0; i < this.listdata.length; i++) {
          var obj4 = {};
          obj4[a] = this.listdata[i][0];
          obj4[b] = this.listdata[i][1];
          obj4[c] = this.listdata[i][2];
          obj4[d] = this.listdata[i][3];
          obj4[e] = this.listdata[i][4];
          obj4[f] = this.listdata[i][5];
          obj4[g] = this.listdata[i][6];
          obj4[h] = this.listdata[i][7];
          this.tablelist.push(obj4);
        }
      } else if (this.listdata[0].length == 9) {
        for (let i = 0; i < this.listdata.length; i++) {
          var obj5 = {};
          obj5[a] = this.listdata[i][0];
          obj5[b] = this.listdata[i][1];
          obj5[c] = this.listdata[i][2];
          obj5[d] = this.listdata[i][3];
          obj5[e] = this.listdata[i][4];
          obj5[f] = this.listdata[i][5];
          obj5[g] = this.listdata[i][6];
          obj5[h] = this.listdata[i][7];
          obj5[io] = this.listdata[i][8];
          this.tablelist.push(obj5);
        }
      } else if (this.listdata[0].length == 10) {
        for (let i = 0; i < this.listdata.length; i++) {
          var obj6 = {};
          obj6[a] = this.listdata[i][0];
          obj6[b] = this.listdata[i][1];
          obj6[c] = this.listdata[i][2];
          obj6[d] = this.listdata[i][3];
          obj6[e] = this.listdata[i][4];
          obj6[f] = this.listdata[i][5];
          obj6[g] = this.listdata[i][6];
          obj6[h] = this.listdata[i][7];
          obj6[io] = this.listdata[i][8];
          obj6[j] = this.listdata[i][9];
          this.tablelist.push(obj6);
        }
      } else if (this.listdata[0].length == 11) {
        for (let i = 0; i < this.listdata.length; i++) {
          var obj7 = {};
          obj7[a] = this.listdata[i][0];
          obj7[b] = this.listdata[i][1];
          obj7[c] = this.listdata[i][2];
          obj7[d] = this.listdata[i][3];
          obj7[e] = this.listdata[i][4];
          obj7[f] = this.listdata[i][5];
          obj7[g] = this.listdata[i][6];
          obj7[h] = this.listdata[i][7];
          obj7[io] = this.listdata[i][8];
          obj7[j] = this.listdata[i][9];
          obj7[k] = this.listdata[i][10];
          this.tablelist.push(obj7);
        }
      } else if (this.listdata[0].length == 12) {
        for (let i = 0; i < this.listdata.length; i++) {
          var obj8 = {};
          obj8[a] = this.listdata[i][0];
          obj8[b] = this.listdata[i][1];
          obj8[c] = this.listdata[i][2];
          obj8[d] = this.listdata[i][3];
          obj8[e] = this.listdata[i][4];
          obj8[f] = this.listdata[i][5];
          obj8[g] = this.listdata[i][6];
          obj8[h] = this.listdata[i][7];
          obj8[io] = this.listdata[i][8];
          obj8[j] = this.listdata[i][9];
          obj8[k] = this.listdata[i][10];
          obj8[L] = this.listdata[i][11];
          this.tablelist.push(obj8);
        }
      } else if (this.listdata[0].length == 13) {
        for (let i = 0; i < this.listdata.length; i++) {
          var obj9 = {};
          obj9[a] = this.listdata[i][0];
          obj9[b] = this.listdata[i][1];
          obj9[c] = this.listdata[i][2];
          obj9[d] = this.listdata[i][3];
          obj9[e] = this.listdata[i][4];
          obj9[f] = this.listdata[i][5];
          obj9[g] = this.listdata[i][6];
          obj9[h] = this.listdata[i][7];
          obj9[io] = this.listdata[i][8];
          obj9[j] = this.listdata[i][9];
          obj9[k] = this.listdata[i][10];
          obj9[L] = this.listdata[i][11];
          obj9[m] = this.listdata[i][12];
          this.tablelist.push(obj9);
        }
      } else if (this.listdata[0].length == 14) {
        for (let i = 0; i < this.listdata.length; i++) {
          var obj10 = {};
          obj10[a] = this.listdata[i][0];
          obj10[b] = this.listdata[i][1];
          obj10[c] = this.listdata[i][2];
          obj10[d] = this.listdata[i][3];
          obj10[e] = this.listdata[i][4];
          obj10[f] = this.listdata[i][5];
          obj10[g] = this.listdata[i][6];
          obj10[h] = this.listdata[i][7];
          obj10[io] = this.listdata[i][8];
          obj10[j] = this.listdata[i][9];
          obj10[k] = this.listdata[i][10];
          obj10[L] = this.listdata[i][11];
          obj10[m] = this.listdata[i][12];
          obj10[n] = this.listdata[i][13];
          this.tablelist.push(obj10);
        }
      } else if (this.listdata[0].length == 15) {
        for (let i = 0; i < this.listdata.length; i++) {
          var obj11 = {};
          obj11[a] = this.listdata[i][0];
          obj11[b] = this.listdata[i][1];
          obj11[c] = this.listdata[i][2];
          obj11[d] = this.listdata[i][3];
          obj11[e] = this.listdata[i][4];
          obj11[f] = this.listdata[i][5];
          obj11[g] = this.listdata[i][6];
          obj11[h] = this.listdata[i][7];
          obj11[io] = this.listdata[i][8];
          obj11[j] = this.listdata[i][9];
          obj11[k] = this.listdata[i][10];
          obj11[L] = this.listdata[i][11];
          obj11[m] = this.listdata[i][12];
          obj11[n] = this.listdata[i][13];
          obj11[o] = this.listdata[i][14];
          this.tablelist.push(obj11);
        }
      } else if (this.listdata[0].length == 16) {
        for (let i = 0; i < this.listdata.length; i++) {
          var obj12 = {};
          obj12[a] = this.listdata[i][0];
          obj12[b] = this.listdata[i][1];
          obj12[c] = this.listdata[i][2];
          obj12[d] = this.listdata[i][3];
          obj12[e] = this.listdata[i][4];
          obj12[f] = this.listdata[i][5];
          obj12[g] = this.listdata[i][6];
          obj12[h] = this.listdata[i][7];
          obj12[io] = this.listdata[i][8];
          obj12[j] = this.listdata[i][9];
          obj12[k] = this.listdata[i][10];
          obj12[L] = this.listdata[i][11];
          obj12[m] = this.listdata[i][12];
          obj12[n] = this.listdata[i][13];
          obj12[o] = this.listdata[i][14];
          obj12[p] = this.listdata[i][15];
          this.tablelist.push(obj12);
        }
      } else if (this.listdata[0].length == 17) {
        for (let i = 0; i < this.listdata.length; i++) {
          var obj13 = {};
          obj13[a] = this.listdata[i][0];
          obj13[b] = this.listdata[i][1];
          obj13[c] = this.listdata[i][2];
          obj13[d] = this.listdata[i][3];
          obj13[e] = this.listdata[i][4];
          obj13[f] = this.listdata[i][5];
          obj13[g] = this.listdata[i][6];
          obj13[h] = this.listdata[i][7];
          obj13[io] = this.listdata[i][8];
          obj13[j] = this.listdata[i][9];
          obj13[k] = this.listdata[i][10];
          obj13[L] = this.listdata[i][11];
          obj13[m] = this.listdata[i][12];
          obj13[n] = this.listdata[i][13];
          obj13[o] = this.listdata[i][14];
          obj13[p] = this.listdata[i][15];
          obj13[q] = this.listdata[i][16];
          this.tablelist.push(obj13);
        }
      } else if (this.listdata[0].length == 18) {
        for (let i = 0; i < this.listdata.length; i++) {
          var obj14 = {};
          obj14[a] = this.listdata[i][0];
          obj14[b] = this.listdata[i][1];
          obj14[c] = this.listdata[i][2];
          obj14[d] = this.listdata[i][3];
          obj14[e] = this.listdata[i][4];
          obj14[f] = this.listdata[i][5];
          obj14[g] = this.listdata[i][6];
          obj14[h] = this.listdata[i][7];
          obj14[io] = this.listdata[i][8];
          obj14[j] = this.listdata[i][9];
          obj14[k] = this.listdata[i][10];
          obj14[L] = this.listdata[i][11];
          obj14[m] = this.listdata[i][12];
          obj14[n] = this.listdata[i][13];
          obj14[o] = this.listdata[i][14];
          obj14[p] = this.listdata[i][15];
          obj14[q] = this.listdata[i][16];
          obj14[r] = this.listdata[i][17];
          this.tablelist.push(obj14);
        }
      } else if (this.listdata[0].length == 19) {
        for (let i = 0; i < this.listdata.length; i++) {
          var obj15 = {};
          obj15[a] = this.listdata[i][0];
          obj15[b] = this.listdata[i][1];
          obj15[c] = this.listdata[i][2];
          obj15[d] = this.listdata[i][3];
          obj15[e] = this.listdata[i][4];
          obj15[f] = this.listdata[i][5];
          obj15[g] = this.listdata[i][6];
          obj15[h] = this.listdata[i][7];
          obj15[io] = this.listdata[i][8];
          obj15[j] = this.listdata[i][9];
          obj15[k] = this.listdata[i][10];
          obj15[L] = this.listdata[i][11];
          obj15[m] = this.listdata[i][12];
          obj15[n] = this.listdata[i][13];
          obj15[o] = this.listdata[i][14];
          obj15[p] = this.listdata[i][15];
          obj15[q] = this.listdata[i][16];
          obj15[r] = this.listdata[i][17];
          obj15[s] = this.listdata[i][18];
          this.tablelist.push(obj15);
        }
      } else if (this.listdata[0].length == 20) {
        for (let i = 0; i < this.listdata.length; i++) {
          var obj16 = {};
          obj16[a] = this.listdata[i][0];
          obj16[b] = this.listdata[i][1];
          obj16[c] = this.listdata[i][2];
          obj16[d] = this.listdata[i][3];
          obj16[e] = this.listdata[i][4];
          obj16[f] = this.listdata[i][5];
          obj16[g] = this.listdata[i][6];
          obj16[h] = this.listdata[i][7];
          obj16[io] = this.listdata[i][8];
          obj16[j] = this.listdata[i][9];
          obj16[k] = this.listdata[i][10];
          obj16[L] = this.listdata[i][11];
          obj16[m] = this.listdata[i][12];
          obj16[n] = this.listdata[i][13];
          obj16[o] = this.listdata[i][14];
          obj16[p] = this.listdata[i][15];
          obj16[q] = this.listdata[i][16];
          obj16[r] = this.listdata[i][17];
          obj16[s] = this.listdata[i][18];
          obj16[t] = this.listdata[i][19];
          this.tablelist.push(obj16);
        }
      } else if (this.listdata[0].length == 21) {
        for (let i = 0; i < this.listdata.length; i++) {
          var obj17 = {};
          obj17[a] = this.listdata[i][0];
          obj17[b] = this.listdata[i][1];
          obj17[c] = this.listdata[i][2];
          obj17[d] = this.listdata[i][3];
          obj17[e] = this.listdata[i][4];
          obj17[f] = this.listdata[i][5];
          obj17[g] = this.listdata[i][6];
          obj17[h] = this.listdata[i][7];
          obj17[io] = this.listdata[i][8];
          obj17[j] = this.listdata[i][9];
          obj17[k] = this.listdata[i][10];
          obj17[L] = this.listdata[i][11];
          obj17[m] = this.listdata[i][12];
          obj17[n] = this.listdata[i][13];
          obj17[o] = this.listdata[i][14];
          obj17[p] = this.listdata[i][15];
          obj17[q] = this.listdata[i][16];
          obj17[r] = this.listdata[i][17];
          obj17[s] = this.listdata[i][18];
          obj17[t] = this.listdata[i][19];
          obj17[u] = this.listdata[i][20];
          this.tablelist.push(obj17);
        }
      } else if (this.listdata[0].length == 22) {
        for (let i = 0; i < this.listdata.length; i++) {
          var obj18 = {};
          obj18[a] = this.listdata[i][0];
          obj18[b] = this.listdata[i][1];
          obj18[c] = this.listdata[i][2];
          obj18[d] = this.listdata[i][3];
          obj18[e] = this.listdata[i][4];
          obj18[f] = this.listdata[i][5];
          obj18[g] = this.listdata[i][6];
          obj18[h] = this.listdata[i][7];
          obj18[io] = this.listdata[i][8];
          obj18[j] = this.listdata[i][9];
          obj18[k] = this.listdata[i][10];
          obj18[L] = this.listdata[i][11];
          obj18[m] = this.listdata[i][12];
          obj18[n] = this.listdata[i][13];
          obj18[o] = this.listdata[i][14];
          obj18[p] = this.listdata[i][15];
          obj18[q] = this.listdata[i][16];
          obj18[r] = this.listdata[i][17];
          obj18[s] = this.listdata[i][18];
          obj18[t] = this.listdata[i][19];
          obj18[u] = this.listdata[i][20];
          obj18[v] = this.listdata[i][21];
          this.tablelist.push(obj18);
        }
      } else if (this.listdata[0].length == 23) {
        for (let i = 0; i < this.listdata.length; i++) {
          var obj19 = {};
          obj19[a] = this.listdata[i][0];
          obj19[b] = this.listdata[i][1];
          obj19[c] = this.listdata[i][2];
          obj19[d] = this.listdata[i][3];
          obj19[e] = this.listdata[i][4];
          obj19[f] = this.listdata[i][5];
          obj19[g] = this.listdata[i][6];
          obj19[h] = this.listdata[i][7];
          obj19[io] = this.listdata[i][8];
          obj19[j] = this.listdata[i][9];
          obj19[k] = this.listdata[i][10];
          obj19[L] = this.listdata[i][11];
          obj19[m] = this.listdata[i][12];
          obj19[n] = this.listdata[i][13];
          obj19[o] = this.listdata[i][14];
          obj19[p] = this.listdata[i][15];
          obj19[q] = this.listdata[i][16];
          obj19[r] = this.listdata[i][17];
          obj19[s] = this.listdata[i][18];
          obj19[t] = this.listdata[i][19];
          obj19[u] = this.listdata[i][20];
          obj19[v] = this.listdata[i][21];
          obj19[w] = this.listdata[i][22];
          this.tablelist.push(obj19);
        }
      } else if (this.listdata[0].length == 24) {
        for (let i = 0; i < this.listdata.length; i++) {
          var obj20 = {};
          obj20[a] = this.listdata[i][0];
          obj20[b] = this.listdata[i][1];
          obj20[c] = this.listdata[i][2];
          obj20[d] = this.listdata[i][3];
          obj20[e] = this.listdata[i][4];
          obj20[f] = this.listdata[i][5];
          obj20[g] = this.listdata[i][6];
          obj20[h] = this.listdata[i][7];
          obj20[io] = this.listdata[i][8];
          obj20[j] = this.listdata[i][9];
          obj20[k] = this.listdata[i][10];
          obj20[L] = this.listdata[i][11];
          obj20[m] = this.listdata[i][12];
          obj20[n] = this.listdata[i][13];
          obj20[o] = this.listdata[i][14];
          obj20[p] = this.listdata[i][15];
          obj20[q] = this.listdata[i][16];
          obj20[r] = this.listdata[i][17];
          obj20[s] = this.listdata[i][18];
          obj20[t] = this.listdata[i][19];
          obj20[u] = this.listdata[i][20];
          obj20[v] = this.listdata[i][21];
          obj20[w] = this.listdata[i][22];
          obj20[x] = this.listdata[i][23];
          this.tablelist.push(obj20);
        }
      } else if (this.listdata[0].length == 25) {
        for (let i = 0; i < this.listdata.length; i++) {
          var obj21 = {};
          obj21[a] = this.listdata[i][0];
          obj21[b] = this.listdata[i][1];
          obj21[c] = this.listdata[i][2];
          obj21[d] = this.listdata[i][3];
          obj21[e] = this.listdata[i][4];
          obj21[f] = this.listdata[i][5];
          obj21[g] = this.listdata[i][6];
          obj21[h] = this.listdata[i][7];
          obj21[io] = this.listdata[i][8];
          obj21[j] = this.listdata[i][9];
          obj21[k] = this.listdata[i][10];
          obj21[L] = this.listdata[i][11];
          obj21[m] = this.listdata[i][12];
          obj21[n] = this.listdata[i][13];
          obj21[o] = this.listdata[i][14];
          obj21[p] = this.listdata[i][15];
          obj21[q] = this.listdata[i][16];
          obj21[r] = this.listdata[i][17];
          obj21[s] = this.listdata[i][18];
          obj21[t] = this.listdata[i][19];
          obj21[u] = this.listdata[i][20];
          obj21[v] = this.listdata[i][21];
          obj21[w] = this.listdata[i][22];
          obj21[x] = this.listdata[i][23];
          obj21[y] = this.listdata[i][24];
          this.tablelist.push(obj21);
        }
      } else if (this.listdata[0].length == 26) {
        for (let i = 0; i < this.listdata.length; i++) {
          var obj22 = {};
          obj22[a] = this.listdata[i][0];
          obj22[b] = this.listdata[i][1];
          obj22[c] = this.listdata[i][2];
          obj22[d] = this.listdata[i][3];
          obj22[e] = this.listdata[i][4];
          obj22[f] = this.listdata[i][5];
          obj22[g] = this.listdata[i][6];
          obj22[h] = this.listdata[i][7];
          obj22[io] = this.listdata[i][8];
          obj22[j] = this.listdata[i][9];
          obj22[k] = this.listdata[i][10];
          obj22[L] = this.listdata[i][11];
          obj22[m] = this.listdata[i][12];
          obj22[n] = this.listdata[i][13];
          obj22[o] = this.listdata[i][14];
          obj22[p] = this.listdata[i][15];
          obj22[q] = this.listdata[i][16];
          obj22[r] = this.listdata[i][17];
          obj22[s] = this.listdata[i][18];
          obj22[t] = this.listdata[i][19];
          obj22[u] = this.listdata[i][20];
          obj22[v] = this.listdata[i][21];
          obj22[w] = this.listdata[i][22];
          obj22[x] = this.listdata[i][23];
          obj22[y] = this.listdata[i][24];
          obj22[z] = this.listdata[i][25];
          this.tablelist.push(obj22);
        }
      }
    },

    //分页接口
    faclityPage() {
      var url = `rtable/rk?page=${this.currentPage}&cpp=${this.pageSize}`;
      var besurl = url.replace("rk", this.caChe_key);
      this.ajax({
        url: besurl,
        method: "GET",
      }).then((res) => {
        res.data.unshift(this.tableData);
        this.listdata = res.data;
       
        this.Tabudataparsing();
      });
    },

    //分页
    handleSizeChange(val) {
      
      this.pageSize = val;
      this.faclityPage();
    },
    handleCurrentChange(val) {
    
      this.currentPage = val;
      this.faclityPage();
    },
 
     //请求超时处理方法
    ClosePopup() {
      this.Popup_show = false;
      clearInterval(this.Popup_timer);
    },

    cancelget() {
    
      this.Popup_show = false;
      this.cancel();
      clearInterval(this.Popup_timer);
    },

    //柱状图
    handiesvg() {
      let myhandle = this.$echarts.init(document.getElementById("facity_svg"));
      let barline = [];
      let bardata = [];
      var titledata = [];
      var list = [];
      

      for (let i = 0; i < this.barlist.length; i++) {
        barline.push(this.barlist[i].key);
        bardata.push(this.barlist[i].val);
      }

      for (let j = 0; j < bardata[0].length; j++) {
        titledata.push(bardata[0][j].dev);
      }

      this.barlist.forEach((ele) => {
        list.push({
          name: ele.key,
          data: ele.val.map((item) => {
            return item;
          }),
          type: "bar",
          stack: "a",
          barWidth: "10%",
          label: {
            position: "insideRight",
          },
        });
      });
      var option = {
        title: [
          {
            text: "设备集中密集性统计",
            left: "center",
            textStyle: {
              fontSize: 15,
              lineHeight: 13,
              fontWeight: 300,
            },
          },
          {
            subtext: "纵轴单位(百分比)",
            subtextStyle: {
              align: "left",
              lineHeight: 66,
              fontSize: 10,
              padding: 25,
            },
          },
        ],
        tooltip: {
          trigger: "axis",
          axisPointer: {
            type: "shadow",
          },
        },
        legend: {
          type: "scroll",
          data: barline,
          x: "center",
          y: 20, //距离Y轴的距离
        },
        grid: {
          left: "3%",
          right: "8%",
          bottom: "0%",
          height: 270,
          containLabel: true,
        },
        xAxis: [
          {
            type: "category",
            data: this.xAis,
            axisLabel: {
              interval: 0,
              rotate: 60,
            },
          },
        ],
        yAxis: [
          {
            type: "value",
            max: 100,
            boundaryGap: [0, 0.01],
            axisLabel: {
              formatter: "{value}%",
            },
          },
        ],
        series: list,
      };
      window.onresize = function () {
        myhandle.resize();
      };
      myhandle.setOption(option, true);

      var selected = {};
      var isShow;
      for (var i = 0; i < option.series.length; i++) {
        selected[option.series[i].name] = true;
        isShow = false;
        if (i == option.series.length - 1) {
          isShow = true;
        }
        option.series[i].label = {
          normal: {
            show: isShow,
            position: "top",
            textStyle: {
              fontSize: "8px",
            },
          },
        };
      }
      var fun = function (obj) {
        // console.log(selected)
         var total = 0;
         var  num = 100;
        for (var key in selected) {
          if (selected[key]) {
            for (var i = 0; i < option.series.length; i++) {
              if (key == option.series[i].name) {
               total += Number(option.series[i].data[obj.dataIndex]);
              }    
               if(total>100){
                //  console.log('----------------',total)
                 return num
               }
            }
          }
        }
        return parseFloat(total.toFixed(2))+'%';
      };
      option.series[option.series.length - 1].label.normal.formatter = fun;
      myhandle.setOption(option, true);
      //重新设置option
      myhandle.on("legendselectchanged", function (obj) {
        selected = obj.selected;
        var flag = true;
        for (var i = option.series.length - 1; i >= 0; i--) {
          //只展示最后一个没有隐藏的列的label
          if (flag && selected[option.series[i].name]) {
            flag = false;
            option.series[i].label.normal.show = true;
            option.series[i].label.normal.formatter = fun;
          } else {
            option.series[i].label.normal.show = false;
            option.series[i].label.normal.formatter = function () {
              return "";
            };
          }
        }
        //重新设置option
        myhandle.setOption(option);
      });
    },

    loadAll() {
      // return [{ value: "", address: "" }];
    },
    querySearch(queryString, cb) {
      var restaurants = this.restaurants;
      var results = queryString
        ? restaurants.filter(this.createFilter(queryString))
        : restaurants;
      // 调用 callback 返回建议列表的数据
      cb(results);
    },
    createFilter(queryString) {
      return (restaurant) => {
        return (
          restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) ===
          0
        );
      };
    },
    handleSelect(item) {
      console.log(item);
    },
    handleIconClick(ev) {
      console.log(ev);
    },
  },
};
</script>
<style  scoped>
.facity {
  width: 100%;
  background: gainsboro;
}

.facity_scerch {
  width: 100%;
  background: #ffffff;
  min-width: 1200px;
  box-shadow: 0px 0px 0px 1.5px #c9c8c8;
  border-radius: 5px 5px 5px 5px;
}

.serch_top {
  width: 100%;
  /* border: 1px solid #000; */
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.serch_buttom {
  width: 100%;
  /* border: 1px solid red; */
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.table_serch {
  width: 100%;
  min-width: 1200px;
  padding-top: 8px;
}
.table_serch_labe {
  /* border: 1px solid #000; */
  height: 35px;
  display: flex;
  margin-left: 10px;
  margin-bottom: 10px;
}
.and_table {
  height: 35px;
  display: flex;
  margin-left: 10px;
  margin-bottom: 10px;
}
.table_serch_labe_title {
  font-size: 11px;
  line-height: 40px;
}
.el-button_eb {
  margin-left: 5px;
  color: #fff;
}
.el-select {
  height: 10px;
  margin-left: -6px;
}
.product {
  width: 130px;
}

.facity {
  width: 100%;
}

#facity_svg {
  /* margin-top:20px; */
  width: 100%;
  height: 370px;
  margin: 20px auto;
  background: #ffffff;
  box-shadow: 0px 0px 0px 1.5px #c9c8c8;
  border-radius: 5px 5px 5px 5px;
}

.facity_table {
  width: 100%;
  /* border: 1px solid #000; */
  margin-top: 30px;
  background: #ffffff;
  box-shadow: 0px 0px 0px 1.5px #c9c8c8;
  border-radius: 5px 5px 5px 5px;
}

.table_loding {
  width: 200px;
  height: 100px;
  border: 1px solid rgb(68, 186, 236);
  position: absolute;
  z-index: 999;
  top: 40%;
  left: 40%;
  border-radius: 5px 5px 5px 5px;
  box-shadow: 0px 0px 0px 1px;
}

.table_title {
  color: rgb(101, 91, 91);
  font-size: 20px;
  text-align: center;
  line-height: 60px;
}
.table_timer {
  color: rgb(101, 91, 91);
  font-size: 20px;
  text-align: center;
  line-height: 10px;
}
.up-lad_btn {
  margin-right: -39%;
}
.table_serch_dow
{
  margin-right: -39%;
}

#denfen{
  margin-left:-33.2%;
}
.tlop
{
  display: flex;
  justify-content: space-between;
}
/* .tablelist_table
{
  height:80px;
} */

/* 搜索框沾满全屏 */
/* @media screen and (min-width:1536px){
    .and_table
    {
       margin-left:1.2%;
    }
} */

@media screen and (min-width: 1920px) {
  .up-lad_btn {
    margin-left: -7%;
  }
  .time_end {
    margin-left: 1.5%;
  }
  #denfen{
    margin-left: -14.2%;
  }
  .table_serch_dow
  {
    margin-right: 21%;
  }
}
</style>